# -*- coding: utf-8 -*-            
# @Time : 2024/8/23 13:21
# @FileName: test.py
# @Target:
import requests
import json
from pprint import pprint

# url = "http://117.50.184.244:5678/llm_analysis"
# headers = {
#     "accept": "application/json",
#     "Content-Type": "application/json"
# }
# data = {
#     "content": "这台车家用非常满意，还有它的续航，真的是标多少跑多少，配置虽然不全，但是完全够用，毕竟开车时还是专注驾驶比较安全，提车四天，回老家跑了一趟，全程199公里，到家续航掉了210公里，续航达成率95%，试问哪家车企能做到，准备开8年，然后换Q5 e-tron 6坐"
# }
#
# response = requests.post(url, headers=headers, json=data)
#
# # 打印响应内容
# pprint(response.json())






#
# A = {'二手保值率': [{'content_list': [], 'sentiment': '中性情感'}],
#                 '价格': [{'content_list': ['价格差点'], 'sentiment': '中性情感'}],
#                 '品牌形象和车型形象': [{'content_list': ['因为黑龙江没有店，联系的网店',
#                                                 '整体体验非常完美，准新车，车况也有保障'],
#                                'sentiment': '正向情感'}],
#                 '新车交付服务': [{'content_list': ['因为黑龙江没有店，联系的网店，经过物流，全全办理过户'],
#                             'sentiment': '正向情感'}],
#                 '销售服务': [{'content_list': ['检测报告非常详细，全覆盖', '后来在经过顾问的讲解后决定试一试'],
#                           'sentiment': '正向情感'}]}
#
# B = {'车辆服务功能以及服务模式': [{'信息': {'content_list': ['检测报告非常详细，全覆盖',
#                                                          '后来在经过顾问的讲解后决定试一试',
#                                                          '因为黑龙江没有店，联系的网店，经过物流，全全办理过户'],
#                                         'sentiment': '正向情感'}},
#                                 {'支付': {'content_list': ['后来在经过顾问的讲解后决定试一试',
#                                                          '因为黑龙江没有店，联系的网店，经过物流，全全办理过户'],
#                                         'sentiment': '正向情感'}},
#                                 {'维修保养': {'content_list': ['检测报告非常详细，全覆盖'],
#                                           'sentiment': '正向情感'}}]}
# def merge_dicts(d1, d2):
#     for key in d2:
#         if key in d1:
#             if isinstance(d1[key], dict) and isinstance(d2[key], dict):
#                 merge_dicts(d1[key], d2[key])
#             elif isinstance(d1[key], list) and isinstance(d2[key], list):
#                 d1[key].extend(d2[key])
#             else:
#                 d1[key] = d2[key]
#         else:
#             d1[key] = d2[key]
#     return d1
#
# C = merge_dicts(A, A)
# pprint(C)
#


# 原始字典
# data = {
#     '车辆人车交互功能': {'新能源车辆交互': []},
#     '车辆电池电机电控及系统算力': {'三电系统': ['电驱电机', '电池管理系统', '热管理']},
#     '车辆车机软件服务及场景模式': {'维修保养': [], '驾驶模式': []},
#     '车辆部件': {'座椅': ['座椅通风'], '悬架': [], '照明': [], '空调': ['温度调节'], '车轮': []}
# }
#
# # 转换函数
# def convert_to_list(data):
#     result = []
#     for category, subcategories in data.items():
#         if not isinstance(subcategories, dict):
#             # 如果没有子类别，直接添加一个空的子类别和项目
#             subcategories = {'': subcategories}
#         for subcategory, items in subcategories.items():
#             if not isinstance(items, list):
#                 # 如果没有项目，使用空列表
#                 items = []
#             for item in items + ['']:  # 确保即使列表为空，也添加一个空字符串的项目
#                 result.append({
#                     'idmi_csp_1': category,
#                     'idmi_csp_2': subcategory if subcategory else '',
#                     'idmi_csp_3': item if item else ''
#                 })
#     return result
#
# # 调用函数并打印结果
# converted_list = convert_to_list(data)
# print(converted_list)
#

def flatten_dict(nested_dict:dict, nested_list:list, seq:str) -> list :
    if isinstance(nested_dict, list):
        for l in nested_dict:
            seq += l
            seq += '@@'
            nested_list.append(seq)
            seq = ''
    elif isinstance(nested_dict, dict):
        for key, value in nested_dict.items():
            # seq += '@@'
            # seq += key
            if len(value):
                seq += key
                seq += '@@'
                nested_list = flatten_dict(value, nested_list, seq)
            else:
                seq += key
                seq += '@@'
                nested_list.append(seq)
                seq = ''
    return nested_list


# 原始嵌套字典
nested_dict = {
    '交互': {
        '图形界面交互': {
            '信息娱乐': []
        }},
    'AA' : {},
    '安全': {
        '其它安全': {}},
    '智驾': {
        '行车辅助':
            {'自动紧急制动AEB': [],
             '车道居中控制LCC': []}},
    '电池电机电控系统':
        {'三电系统':
            {'电池管理系统 BMS': [],
             '电驱电机': [],
             '能量回收 Energy Storage': []}},
    '部件': {
        '底盘部件':
            {'制动': [],
            '悬架': {}},
        '驾舱内部件': {}}
}

flat = flatten_dict(nested_dict, [], '')
print(flat)













